Computers are regularly being used for a variety of purposes throughout the world. As computers have become commonplace, computer manufacturers have continuously sought to make them more accessible and user-friendly. One such effort has been the development of natural input methods, such as submitting data through handwriting. By writing with a stylus or another object onto a digitizer to produce “electronic ink” or “digital ink,” a computer user can forego the bulk and inconvenience associated with a keyboard. Handwriting input conveniently may be used, for example, by doctors making rounds, architects on a building site, couriers delivering packages, warehouse workers walking around a warehouse, and in any situation when the use of a keyboard would be awkward or inconvenient. The use of handwriting input is particularly useful when the use of a keyboard and mouse would be inconvenient or inappropriate, such as when the writer is moving, in a quite meeting, or the like. The use of handwriting input also is the natural choice for creating some types of data, such as mathematical formulas, charts, drawings, and annotations.
While handwriting input is more convenient than keyboard input in many situations, text written in electronic ink typically cannot be directly manipulated by most software applications. Instead, text written in electronic ink must be analyzed to convert it into another form, such as ASCII characters. This analysis includes a handwriting recognition process, which recognizes characters based upon various relationships between individual electronic ink strokes making up a word of electronic ink. Handwriting recognition algorithms have improved dramatically in recent years, but their accuracy can be reduced when electronic ink is written at an angle. Likewise, when separate groups of ink strokes cannot be easily distinguished, such as when two words are written closely together, many recognition algorithms cannot accurately recognize electronic ink. Some recognition algorithms also may incorrectly recognize electronic ink as text when, in fact, the electronic ink is intended to be a drawing.
The accuracy of many recognition algorithms can be greatly improved by “parsing” (e.g., by analyzing the layout of and/or “classifying”) the electronic ink before using the handwriting recognition algorithm. A classification process typically determines whether an electronic or digital ink stroke is part of a drawing (that is, a drawing ink stroke) or part of handwritten text (that is, a text ink stroke). Classification algorithms for identifying other stroke types also are possible. The layout analysis process typically groups electronic ink strokes into meaningful associations, such as lines, writing regions, and paragraphs.
It is noted that parsing technologies analyze the structures within handwritten electronic or digital ink to enable advanced editing, searching, conversion and beautification features, thereby combining the best of electronic and paper media. However, there are disadvantages associated with current electronic or digital ink parsing technologies. For example, the current digital ink parsing technologies have limited robustness and extensibility when processing freeform handwritten digital ink notes.
As such, it is desirable to address one or more of the above issues.